home *** CD-ROM | disk | FTP | other *** search
/ Champak 138 / Volume 138 Aug 19 2011 - Damaged.iso / Games / shore_siege.swf / scripts / DefineSprite_456 / frame_1 / DoAction.as
Text File  |  2011-08-19  |  40KB  |  1,525 lines

  1. function onMouseDown()
  2. {
  3.    mousePressed = true;
  4. }
  5. function onMouseUp()
  6. {
  7.    mousePressed = false;
  8.    mouseHold = 0;
  9. }
  10. function pythag(x1, y1, x2, y2)
  11. {
  12.    return Math.sqrt(Math.pow(y1 - y2,2) + Math.pow(x1 - x2,2));
  13. }
  14. function angle(x1, y1, x2, y2)
  15. {
  16.    return Math.round(Math.atan2(y2 - y1,x2 - x1) / 3.141593 * 180) + 90;
  17. }
  18. function calcSpeed(angle, speed)
  19. {
  20.    var _loc2_ = angle * 0.01745329;
  21.    var _loc1_ = new Object();
  22.    _loc1_.x = speed * Math.cos(_loc2_);
  23.    _loc1_.y = speed * Math.sin(_loc2_);
  24.    return _loc1_;
  25. }
  26. function rotatedXY(xPos, yPos, rotate)
  27. {
  28.    var _loc1_ = new Object();
  29.    var _loc2_ = 0.017444444444444446 * rotate;
  30.    var _loc4_ = Math.sin(_loc2_);
  31.    var _loc3_ = Math.cos(_loc2_);
  32.    _loc1_.x = xPos * _loc3_ - yPos * _loc4_;
  33.    _loc1_.y = xPos * _loc4_ + yPos * _loc3_;
  34.    return _loc1_;
  35. }
  36. function onEnterFrame()
  37. {
  38.    if(gameState == 2)
  39.    {
  40.       pauseBut._alpha = 100;
  41.    }
  42.    else
  43.    {
  44.       pauseBut._alpha = 30;
  45.    }
  46.    if(_root.gamePaused == true)
  47.    {
  48.       Mouse.show();
  49.       _root.pScreen._x = -100;
  50.       _root.pScreen._y = -200;
  51.    }
  52.    else
  53.    {
  54.       _root.pScreen._x = -10000;
  55.       _root.pScreen._y = -1000;
  56.       if(_root.health <= 0)
  57.       {
  58.          if(deadTimer > 0)
  59.          {
  60.             if(deadTimer == 20)
  61.             {
  62.                SHIP._visible = false;
  63.             }
  64.             deadTimer--;
  65.             _root.health = 0;
  66.             _root.roundTimer = _root.roundTimer - 1;
  67.             if(random(4) == 0)
  68.             {
  69.                var _loc2_ = SHIP._x;
  70.                var _loc3_ = SHIP._y;
  71.                newEffect("Explosion",random(4),SHIP._x += random(100) - 50,SHIP._y += random(100) - 50);
  72.                SHIP._x = _loc2_;
  73.                SHIP._y = _loc3_;
  74.             }
  75.          }
  76.          else
  77.          {
  78.             _root.gotoAndStop("DEAD");
  79.          }
  80.       }
  81.       if(gameState == 0)
  82.       {
  83.          introMovie();
  84.       }
  85.       else if(gameState == 3)
  86.       {
  87.          outroMovie();
  88.       }
  89.       else if(gameState == 2)
  90.       {
  91.          if(gameActive == true)
  92.          {
  93.             spawnControl();
  94.             updateBlob();
  95.             updateShmallow();
  96.             updateRoller();
  97.             updateDino();
  98.             updateBird();
  99.             updateBloon();
  100.             updateVamp();
  101.             updateVampDead();
  102.             updateTurret();
  103.             updateBomb();
  104.             updatePirates();
  105.             if(_ymouse > HUDBAR._y - 10)
  106.             {
  107.                HUDBAR["T" + Math.ceil((_xmouse - 145) / 67)].gotoAndPlay(2);
  108.             }
  109.          }
  110.          dayControl();
  111.       }
  112.       controlWind();
  113.       controlWing();
  114.       controlSkew();
  115.       HUDBARControl();
  116.       flameControl();
  117.       updateCoins();
  118.       updateShake();
  119.       drawHandle();
  120.       mouseControl();
  121.       outPutText();
  122.    }
  123. }
  124. function setEnemyArray()
  125. {
  126.    enemyArray_blob = new Array();
  127.    enemyArray_shmallow = new Array();
  128.    enemyArray_roller = new Array();
  129.    enemyArray_dino = new Array();
  130.    enemyArray_bird = new Array();
  131.    enemyArray_bloon = new Array();
  132.    enemyArray_vamp = new Array();
  133.    enemyArray_ALL = new Array();
  134.    enemyArray_GROUND = new Array(enemyArray_blob,enemyArray_shmallow,enemyArray_dino,enemyArray_roller);
  135.    enemyArray_AIR = new Array(enemyArray_vamp,enemyArray_bloon,enemyArray_bird,enemyArray_blob,enemyArray_shmallow,enemyArray_dino,enemyArray_roller);
  136. }
  137. function newEnemy(type, layer)
  138. {
  139.    if(_root.roundTimer < _root.roundTimerMax - 10 || type == "turret" || type == "bomb")
  140.    {
  141.       var _loc3_ = this["ELAYER_" + layer].attachMovie("ENEMY_" + type,"E" + this["ELAYER_" + layer].getNextHighestDepth(),this["ELAYER_" + layer].getNextHighestDepth());
  142.       _loc3_._x = 850;
  143.       _loc3_._y = 250 + 20 * layer;
  144.       _loc3_.layer = layer;
  145.       this["enemyArray_" + type].push(_loc3_);
  146.       this["loadSettings_" + type](_loc3_);
  147.       type.toLowerCase();
  148.       if(type != "turret")
  149.       {
  150.          enemyArray_ALL.push(_loc3_);
  151.          enemyCounter++;
  152.       }
  153.       _loc3_.nom = type;
  154.       return _loc3_;
  155.    }
  156. }
  157. function loadSettings_blob(enemy)
  158. {
  159.    enemy.maxHealth = 10;
  160.    enemy.deadAnim = "Enemy_BSpat";
  161.    enemy.xSpeed = 0;
  162. }
  163. function loadSettings_shmallow(enemy)
  164. {
  165.    enemy.speed = 1.5 + random(3) / 10;
  166.    enemy.active = false;
  167.    enemy._y += 10;
  168.    enemy.maxHealth = 20;
  169.    enemy.anim.sprite.faceSprite.setMask(enemy.anim.sprite.faceMask);
  170. }
  171. function loadSettings_roller(enemy)
  172. {
  173.    enemy._y -= 5;
  174.    enemy.deadAnim = "Enemy_RSpat";
  175.    enemy.maxHealth = 15;
  176.    enemy.yPos = enemy._y;
  177.    enemy.active = false;
  178.    enemy.ySpeed = 0;
  179.    enemy.xSpeed = 0;
  180.    enemy.rotSpeed = 0;
  181. }
  182. function loadSettings_vampDead(enemy)
  183. {
  184.    enemy.yPos = enemy._y;
  185.    enemy._x = _root.weaponX;
  186.    enemy._y = _root.weaponY;
  187.    enemy.active = false;
  188.    enemy.ySpeed = 0;
  189.    enemy.xSpeed = 0;
  190.    enemy.rotSpeed = 0;
  191. }
  192. function loadSettings_dino(enemy)
  193. {
  194.    enemy.deadAnim = "Enemy_DSpat";
  195.    enemy._y += 10;
  196.    enemy.xSpeed = 0;
  197.    enemy.maxHealth = 60;
  198. }
  199. function loadSettings_vamp(enemy)
  200. {
  201.    enemy.deadAnim = "Enemy_VSpat";
  202.    enemy._y -= 80;
  203.    enemy.maxHealth = 200;
  204.    enemy.shadow._y += 80;
  205.    enemy.shadow._alpha = 30;
  206. }
  207. function loadSettings_bird(enemy)
  208. {
  209.    _root.bombVis = true;
  210.    enemy.bomb._alpha = 100;
  211.    enemy.maxHealth = 30;
  212.    enemy._xscale = 80;
  213.    enemy._yscale = 80;
  214.    enemy.flyaway = 0;
  215.    enemy.speed = 3 + (random(20) / 10 - 0.1);
  216.    enemy._y -= 90;
  217.    enemy.shadow._y += 125;
  218. }
  219. function loadSettings_bloon(enemy)
  220. {
  221.    enemy.sprite._rotation = (- controlWingAngleDivTen) / 5;
  222.    enemy.flyaway = 0;
  223.    enemy.speed = 3 + (random(20) / 10 - 0.1);
  224.    enemy._y -= 90;
  225.    enemy.maxHealth = 20;
  226.    enemy.shadow._y += 125;
  227. }
  228. function pinDeath(enemy, ammount)
  229. {
  230.    if(Pin.killActive == true)
  231.    {
  232.       if(enemy.hitTest(Pin._x,Pin._y) && enemy.pinSwitch != true)
  233.       {
  234.          enemy.pinSwitch = true;
  235.          if(hurtEnemy(enemy,ammount) == true)
  236.          {
  237.             return true;
  238.          }
  239.          return false;
  240.       }
  241.       if(enemy.hitTest(Pin._x,Pin._y) == false)
  242.       {
  243.          enemy.pinSwitch = false;
  244.       }
  245.    }
  246. }
  247. function updateBlob()
  248. {
  249.    var _loc2_ = 0;
  250.    while(_loc2_ < enemyArray_blob.length)
  251.    {
  252.       eolBuffer();
  253.       var _loc1_ = enemyArray_blob[_loc2_];
  254.       _loc1_._x -= _loc1_.xSpeed;
  255.       _loc1_.xSpeed += 0.5;
  256.       _loc1_.xSpeed /= 1.2;
  257.       _loc1_.sprite.skew(controlSkewAngle,0);
  258.       pinDeath(_loc1_,10);
  259.       if(_loc1_.health == 0)
  260.       {
  261.          newEffect("Enemy_BSpat",_loc1_.layer,_loc1_._x - 20,_loc1_._y - 20);
  262.          newCoins(1,_loc1_._x,_loc1_._y);
  263.          deleteEnemy(_loc1_,enemyArray_blob,_loc2_);
  264.       }
  265.       else if(_loc1_._x < castlePoint)
  266.       {
  267.          hurtShip(3);
  268.          newEffect("Enemy_BSpat",_loc1_.layer,_loc1_._x - 20,_loc1_._y - 20);
  269.          deleteEnemy(_loc1_,enemyArray_blob,_loc2_);
  270.       }
  271.       _loc2_ = _loc2_ + 1;
  272.    }
  273. }
  274. function updateShmallow()
  275. {
  276.    var _loc3_ = 0;
  277.    while(_loc3_ < enemyArray_shmallow.length)
  278.    {
  279.       eolBuffer();
  280.       var _loc2_ = enemyArray_shmallow[_loc3_];
  281.       if(_loc2_.active == true)
  282.       {
  283.          if(pythag(_loc2_._x,_loc2_._y,Flame._x,Flame._y) < 40)
  284.          {
  285.             if(_root.flameUpgrade == 2)
  286.             {
  287.                _loc2_.health -= 10;
  288.             }
  289.             else
  290.             {
  291.                _loc2_.health -= 1;
  292.             }
  293.             if(_loc2_.health < 0)
  294.             {
  295.                _loc2_.health = 0;
  296.             }
  297.             _loc2_.anim.sprite.nextFrame();
  298.             newEffect("Effect_Smoke",_loc2_.layer,_loc2_._x,_loc2_._y - 10);
  299.          }
  300.          if(_loc2_.health == 0)
  301.          {
  302.             newCoins(1,_loc2_._x,_loc2_._y);
  303.             deleteEnemy(_loc2_,enemyArray_shmallow,_loc3_);
  304.          }
  305.          else if(_loc2_._x > castlePoint)
  306.          {
  307.             _loc2_.anim.skew(controlSkewAngle,0);
  308.             _loc2_.anim._y += controlSkewAngleDivTen / 2;
  309.             _loc2_._x -= _loc2_.speed;
  310.             if(_loc2_._x < castlePoint)
  311.             {
  312.                _loc2_._y += 15;
  313.                _loc2_.hBar._y -= 15;
  314.                _loc2_.anim._y -= 15;
  315.             }
  316.          }
  317.          else
  318.          {
  319.             newEffect("Explosion",weapon.layer,weapon._x - 20,weapon._y - 20);
  320.             deleteEnemy(_loc2_,enemyArray_shmallow,_loc3_);
  321.          }
  322.       }
  323.       else if(controlSkewAngle == 16)
  324.       {
  325.          _loc2_.active = true;
  326.       }
  327.       _loc3_ = _loc3_ + 1;
  328.    }
  329. }
  330. function updateRoller()
  331. {
  332.    var _loc2_ = 0;
  333.    while(_loc2_ < enemyArray_roller.length)
  334.    {
  335.       eolBuffer();
  336.       var _loc1_ = enemyArray_roller[_loc2_];
  337.       if(_loc1_.active == false)
  338.       {
  339.          if(_loc1_._y > _loc1_.yPos - 5)
  340.          {
  341.             if(_loc1_._x > castlePoint)
  342.             {
  343.                _loc1_.xSpeed += 0.5;
  344.             }
  345.             else
  346.             {
  347.                _loc1_.xSpeed -= 0.5;
  348.             }
  349.             _loc1_.xSpeed /= 1.25;
  350.             _loc1_.rotSpeed /= 1.2;
  351.          }
  352.          _loc1_.ySpeed = _loc1_.ySpeed - 1;
  353.          _loc1_._x -= _loc1_.xSpeed;
  354.          _loc1_._y -= _loc1_.ySpeed;
  355.          if(_loc1_._y > _loc1_.yPos)
  356.          {
  357.             _loc1_._y = _loc1_.yPos;
  358.             _loc1_.ySpeed *= -0.5;
  359.          }
  360.          if(_loc1_._x < castlePoint + 5 && _loc1_._x > castlePoint - 5)
  361.          {
  362.             _loc1_.castleTimer = _loc1_.castleTimer + 1;
  363.             if(_loc1_.castleTimer > 20)
  364.             {
  365.                _loc1_._alpha *= -1;
  366.             }
  367.          }
  368.          else
  369.          {
  370.             _loc1_.castleTimer = 0;
  371.             _loc1_._alpha = 100;
  372.          }
  373.          if(_loc1_.castleTimer > 60)
  374.          {
  375.             _loc1_.deadSet = true;
  376.          }
  377.          if(mouseHold == 0 && mouseState == 1)
  378.          {
  379.             if(pythag(_xmouse,_ymouse,_loc1_._x,_loc1_._y) < 30)
  380.             {
  381.                mouseState = 2;
  382.                if(mousePressed == true)
  383.                {
  384.                   _loc1_.active = true;
  385.                   mouseHold = 1;
  386.                }
  387.             }
  388.          }
  389.          _loc1_.sprite._rotation -= 5 + _loc1_.rotSpeed;
  390.          _loc1_.rotSpeed /= 1.02;
  391.       }
  392.       else if(mousePressed == false)
  393.       {
  394.          _loc1_.active = false;
  395.       }
  396.       else
  397.       {
  398.          mouseState = 3;
  399.          var _loc4_ = _loc1_._x;
  400.          var _loc3_ = _loc1_._y;
  401.          _loc1_._x += (_xmouse - _loc1_._x) / 3;
  402.          _loc1_._y += (_ymouse - _loc1_._y) / 3;
  403.          if(_loc1_._y > _loc1_.yPos)
  404.          {
  405.             _loc1_._y = _loc1_.yPos;
  406.          }
  407.          _loc1_.xSpeed = (_loc1_._x - _xmouse) / 3;
  408.          _loc1_.ySpeed = (_loc1_._y - _ymouse) / 3;
  409.          _loc1_.rotSpeed = random(100) - 50;
  410.       }
  411.       if(_loc1_._x > 800)
  412.       {
  413.          _loc1_._x = 800;
  414.          _loc1_.xSpeed *= -1;
  415.       }
  416.       else if(_loc1_._y > _loc1_.yPos - 5 && _loc1_._x < 80 || _loc1_.health <= 0 || _loc1_._x < 0)
  417.       {
  418.          newEffect("Effect_Steam",_loc1_.layer,_loc1_._x - 20,_loc1_._y + 20);
  419.          newCoins(2,_loc1_._x,_loc1_._y);
  420.          deleteEnemy(_loc1_,enemyArray_roller,_loc2_);
  421.       }
  422.       else if(_loc1_.deadSet == true)
  423.       {
  424.          newEffect("Explosion",_loc1_.layer,_loc1_._x - 20,_loc1_._y + 20);
  425.          deleteEnemy(_loc1_,enemyArray_roller,_loc2_);
  426.       }
  427.       else if(_loc1_._x < 80)
  428.       {
  429.          _loc1_.shadow._alpha *= -1;
  430.       }
  431.       else
  432.       {
  433.          _loc1_.shadow._alpha = 100;
  434.       }
  435.       _loc1_.shadow._y = _loc1_.yPos - _loc1_._y + 15;
  436.       _loc2_ = _loc2_ + 1;
  437.    }
  438. }
  439. function updateDino()
  440. {
  441.    var _loc2_ = 0;
  442.    while(_loc2_ < enemyArray_dino.length)
  443.    {
  444.       eolBuffer();
  445.       var _loc1_ = enemyArray_dino[_loc2_];
  446.       if(_loc1_.xSpeed < 0)
  447.       {
  448.          _loc1_.xSpeed = 0;
  449.       }
  450.       _loc1_._x -= _loc1_.xSpeed;
  451.       _loc1_.xSpeed += 0.25;
  452.       _loc1_.xSpeed /= 1.25;
  453.       if(_loc1_._x < castlePoint)
  454.       {
  455.          newEffect("Explosion",_loc1_.layer,_loc1_._x - 20,_loc1_._y + 20);
  456.          deleteEnemy(_loc1_,enemyArray_dino,_loc2_);
  457.       }
  458.       else if(_loc1_.health == 0)
  459.       {
  460.          newCoins(4,_loc1_._x,_loc1_._y);
  461.          deleteEnemy(_loc1_,enemyArray_dino,_loc2_);
  462.       }
  463.       _loc2_ = _loc2_ + 1;
  464.    }
  465. }
  466. function updateVamp()
  467. {
  468.    var _loc4_ = 0;
  469.    while(_loc4_ < enemyArray_vamp.length)
  470.    {
  471.       eolBuffer();
  472.       var _loc2_ = enemyArray_vamp[_loc4_];
  473.       _loc2_._x -= 3;
  474.       _loc2_._y += controlSkewAngleDivTen / 5;
  475.       if(pythag(_loc2_._x,_loc2_._y,Flame._x,Flame._y) < 40)
  476.       {
  477.          if(_loc2_.health < _loc2_.maxHealth)
  478.          {
  479.             _loc2_.health = _loc2_.health + 1;
  480.          }
  481.       }
  482.       if(pythag(_loc2_._x,_loc2_._y,Water._x,Water._y) < 40)
  483.       {
  484.          if(_root.dropUpgrade == 2)
  485.          {
  486.             _loc2_.health -= 100;
  487.             var _loc3_ = 0;
  488.             while(_loc3_ < 10)
  489.             {
  490.                newEffect("Effect_Steam",_loc2_.layer,_loc2_._x,_loc2_._y);
  491.                _loc3_ = _loc3_ + 1;
  492.             }
  493.          }
  494.          else
  495.          {
  496.             _loc2_.health -= 10;
  497.          }
  498.          _loc2_.soundBox.play();
  499.          if(_loc2_.health < 0)
  500.          {
  501.             _loc2_.health = 0;
  502.          }
  503.          _loc2_.sprite._alpha -= 2;
  504.          newEffect("Effect_Steam",_loc2_.layer,_loc2_._x,_loc2_._y);
  505.       }
  506.       if(_loc2_.health == 0)
  507.       {
  508.          newCoins(3,_loc2_._x,_loc2_._y);
  509.          deleteEnemy(_loc2_,enemyArray_vamp,_loc4_);
  510.       }
  511.       else if(_loc2_._x < castlePoint - 20)
  512.       {
  513.          hurtShip(10);
  514.          newEffect("Explosion",_loc2_.layer,_loc2_._x,_loc2_._y + 20);
  515.          deleteEnemy(_loc2_,enemyArray_vamp,_loc4_);
  516.       }
  517.       else if(_loc2_._x < castlePoint + 100)
  518.       {
  519.          _loc2_._y += 1;
  520.          _loc2_.shadow._y -= 1;
  521.       }
  522.       _loc4_ = _loc4_ + 1;
  523.    }
  524. }
  525. function updateBird()
  526. {
  527.    var _loc3_ = 0;
  528.    while(_loc3_ < enemyArray_bird.length)
  529.    {
  530.       eolBuffer();
  531.       var _loc2_ = enemyArray_bird[_loc3_];
  532.       _loc2_.wingR._rotation = controlWingAngle;
  533.       _loc2_.wingL.wingL._rotation = controlWingAngle;
  534.       _loc2_._x -= _loc2_.speed;
  535.       if(_loc2_.health == 0)
  536.       {
  537.          newCoins(2,_loc2_._x,_loc2_._y);
  538.          deleteEnemy(_loc2_,enemyArray_bird,_loc3_);
  539.       }
  540.       else if(_loc2_._x < castlePoint - 10)
  541.       {
  542.          if(_loc2_._y > 0)
  543.          {
  544.             _loc2_._y -= _loc2_.flyaway;
  545.             _loc2_.bomb._alpha = 0;
  546.             _loc2_.shadow._y += _loc2_.flyaway * 1.2;
  547.             _loc2_.shadow._alpha /= 1.05;
  548.             if(_loc2_.flyaway == 0)
  549.             {
  550.                _root.weaponX = _loc2_._x;
  551.                _root.weaponY = _loc2_._y;
  552.                newEnemy("bomb",_loc2_.layer);
  553.             }
  554.             else if(_loc2_.flyAway == 3)
  555.             {
  556.                hurtShip(8);
  557.             }
  558.             _loc2_.flyaway += 0.5;
  559.             _loc2_.speed /= 1.05;
  560.          }
  561.          else
  562.          {
  563.             deleteEnemy(_loc2_,enemyArray_bird,_loc3_);
  564.          }
  565.       }
  566.       else
  567.       {
  568.          _loc2_._y -= controlWingAngleDivTen;
  569.          _loc2_.shadow._y += controlWingAngleDivTen;
  570.       }
  571.       _loc3_ = _loc3_ + 1;
  572.    }
  573. }
  574. function updateBloon()
  575. {
  576.    var _loc3_ = 0;
  577.    while(_loc3_ < enemyArray_bloon.length)
  578.    {
  579.       eolBuffer();
  580.       var _loc2_ = enemyArray_bloon[_loc3_];
  581.       _loc2_._x -= _loc2_.speed / 3;
  582.       if(_loc2_.health == 0)
  583.       {
  584.          newCoins(4,_loc2_._x,_loc2_._y);
  585.          newEffect("Enemy_BSpat",_loc2_.layer,_loc2_._x - 20,_loc2_._y - 20);
  586.          deleteEnemy(_loc2_,enemyArray_bloon,_loc3_);
  587.       }
  588.       else if(_loc2_._x < castlePoint)
  589.       {
  590.          if(_loc2_._y > 0)
  591.          {
  592.             _loc2_._y -= _loc2_.flyaway;
  593.             _loc2_.shadow._y += _loc2_.flyaway * 1.2;
  594.             _loc2_.shadow._alpha /= 1.05;
  595.             if(_loc2_.flyaway == 0 || _loc2_.flyaway == 4 || _loc2_.flyaway == 8)
  596.             {
  597.                _root.weaponX = _loc2_._x;
  598.                _root.weaponY = _loc2_._y;
  599.                newEnemy("bomb",_loc2_.layer);
  600.             }
  601.             _loc2_.flyaway += 0.5;
  602.             _loc2_.speed /= 1.05;
  603.          }
  604.          else
  605.          {
  606.             deleteEnemy(_loc2_,enemyArray_bloon,_loc3_);
  607.          }
  608.       }
  609.       else
  610.       {
  611.          _loc2_.sprite._rotation -= controlWingAngleDivTen / 5;
  612.       }
  613.       _loc2_._xscale = 100;
  614.       _loc2_._yscale = 100;
  615.       if(_root.nailUpgrade == 2)
  616.       {
  617.          pinState = pinDeath(_loc2_,50);
  618.       }
  619.       else
  620.       {
  621.          pinState = pinDeath(_loc2_,5);
  622.       }
  623.       if(pinState == true)
  624.       {
  625.          newEnemy("bomb",_loc2_.layer - 1 + iii);
  626.       }
  627.       else if(pinState == false)
  628.       {
  629.          _loc2_._xscale = 90;
  630.          _loc2_._yscale = 90;
  631.       }
  632.       _loc3_ = _loc3_ + 1;
  633.    }
  634. }
  635. function loadSettings_bomb(weapon)
  636. {
  637.    weapon._x = _root.weaponX;
  638.    weapon._y = _root.weaponY;
  639.    weapon._xscale = 70;
  640.    weapon._yscale = 70;
  641.    weapon.ySpeed = 0;
  642.    weapon._rotation = -20;
  643.    weapon.dropPos = 260 + 20 * weapon.layer;
  644. }
  645. function loadSettings_turret(weapon)
  646. {
  647.    weapon.active = false;
  648.    weapon.timer = 0;
  649.    weapon.health = 0;
  650.    weapon.maxHealth = 40;
  651.    weapon.fireTimer = 0;
  652.    weapon._x = _root.weaponX;
  653.    weapon._y = _root.weaponY;
  654.    weapon.gotoAndStop(2);
  655. }
  656. function updateTurret()
  657. {
  658.    var _loc3_ = 0;
  659.    while(_loc3_ < enemyArray_turret.length)
  660.    {
  661.       var _loc1_ = enemyArray_turret[_loc3_];
  662.       if(_loc1_.active == false)
  663.       {
  664.          if(_loc1_.health < _loc1_.maxHealth - 1)
  665.          {
  666.             _loc1_.health += 0.8;
  667.             if(_loc1_.health > _loc1_.maxHealth)
  668.             {
  669.                _loc1_.health = _loc1_.maxHealth;
  670.             }
  671.          }
  672.          else if(_loc1_.health == _loc1_.maxHealth)
  673.          {
  674.             _loc1_.health = 0;
  675.          }
  676.          if(_loc1_.timer < 20)
  677.          {
  678.             _loc1_.timer += 2;
  679.             _loc1_.health += 2;
  680.          }
  681.          else
  682.          {
  683.             _loc1_.nextFrame();
  684.             _loc1_.timer = 0;
  685.          }
  686.       }
  687.       else
  688.       {
  689.          if(_loc1_.fireTimer > 0)
  690.          {
  691.             shakeScreen(3,5);
  692.             _loc1_.barrel.play();
  693.             _loc1_.fireTimer = _loc1_.fireTimer - 1;
  694.             _loc1_.health -= 1;
  695.          }
  696.          else
  697.          {
  698.             var _loc5_ = false;
  699.             if(_loc1_.timer == 0)
  700.             {
  701.                _loc3_ = 0;
  702.                while(_loc3_ < enemyArray_GROUND.length)
  703.                {
  704.                   var _loc4_ = 0;
  705.                   while(_loc4_ < enemyArray_GROUND[_loc3_].length)
  706.                   {
  707.                      var _loc2_ = enemyArray_GROUND[_loc3_][_loc4_];
  708.                      if(_loc2_.layer == _loc1_.layer)
  709.                      {
  710.                         if(_loc2_._x > _loc1_._x + 10 && _loc2_._x < _loc1_._x + 400 && _loc2_._y > _loc1_._y - 20)
  711.                         {
  712.                            drawBullet(_loc1_._x + 20,_loc1_._y - 10 + random(5),_loc2_._x,_loc2_._y - 15);
  713.                            _loc5_ = true;
  714.                            _loc2_.xSpeed -= 5 + random(10);
  715.                            _loc2_.ySpeed -= 10 + random(5);
  716.                            hurtEnemy(_loc2_,5);
  717.                         }
  718.                      }
  719.                      _loc4_ = _loc4_ + 1;
  720.                   }
  721.                   _loc3_ = _loc3_ + 1;
  722.                }
  723.                _loc1_.timer = 15 + random(10);
  724.             }
  725.             else
  726.             {
  727.                _loc1_.timer = _loc1_.timer - 1;
  728.             }
  729.             if(_loc5_ == true)
  730.             {
  731.                weapn.timer = 2;
  732.                _loc1_.fireTimer = 5;
  733.             }
  734.          }
  735.          if(_loc1_.health <= 0)
  736.          {
  737.             bombBlast(_loc1_._x,_loc1_._y);
  738.             newEffect("Explosion",_loc1_.layer,_loc1_._x - 20,_loc1_._y + 20);
  739.             deleteEnemy(_loc1_,enemyArray_turret,_loc3_);
  740.          }
  741.       }
  742.       _loc3_ = _loc3_ + 1;
  743.    }
  744. }
  745. function updateBomb()
  746. {
  747.    var _loc2_ = 0;
  748.    while(_loc2_ < enemyArray_bomb.length)
  749.    {
  750.       var _loc1_ = enemyArray_bomb[_loc2_];
  751.       _loc1_._x += _loc1_.xSpeed;
  752.       _loc1_._y += _loc1_.ySpeed;
  753.       _loc1_.ySpeed += 0.8;
  754.       if(_loc1_._y > _loc1_.dropPos)
  755.       {
  756.          bombBlast(_loc1_._x,_loc1_._y);
  757.          newEffect("Explosion",_loc1_.layer,_loc1_._x - 20,_loc1_._y - 20);
  758.          deleteEnemy(_loc1_,enemyArray_bomb,_loc2_);
  759.       }
  760.       _loc2_ = _loc2_ + 1;
  761.    }
  762. }
  763. function bombBlast(xPos, yPos)
  764. {
  765.    var _loc3_ = 0;
  766.    while(_loc3_ < enemyArray_AIR.length)
  767.    {
  768.       var _loc2_ = 0;
  769.       while(_loc2_ < enemyArray_AIR[_loc3_].length)
  770.       {
  771.          var _loc1_ = enemyArray_AIR[_loc3_][_loc2_];
  772.          if(pythag(xPos,yPos,_loc1_._x,_loc1_._y) < 90)
  773.          {
  774.             hurtEnemy(_loc1_,50);
  775.          }
  776.          _loc2_ = _loc2_ + 1;
  777.       }
  778.       _loc3_ = _loc3_ + 1;
  779.    }
  780. }
  781. function enemyEffect(enemy)
  782. {
  783.    newEffect(enemy.deadAnim,enemy.layer,enemy._x,enemy._y);
  784. }
  785. function newEffect(type, layer, xPos, yPos)
  786. {
  787.    var _loc2_ = this["ELAYER_" + layer].attachMovie(type,this["ELAYER_" + layer].getNextHighestDepth(),this["ELAYER_" + layer].getNextHighestDepth());
  788.    _loc2_._x = xPos;
  789.    _loc2_._y = yPos;
  790. }
  791. function drawHandle()
  792. {
  793.    if(clearTimer == 3)
  794.    {
  795.       clearTimer = 0;
  796.       EFFECTS.clear();
  797.       EFFECTS.lineStyle(1 + random(10) / 10,10857729,random(50) + 30);
  798.    }
  799.    else
  800.    {
  801.       clearTimer++;
  802.    }
  803. }
  804. function drawBullet(x1, y1, x2, y2)
  805. {
  806.    EFFECTS.moveTo(x1,y1);
  807.    EFFECTS.lineTo(x2,y2);
  808. }
  809. function shakeScreen(ammount, time)
  810. {
  811.    if(ammount >= shakeAmmount)
  812.    {
  813.       shakeAmmount = ammount;
  814.       shakeTime = time;
  815.    }
  816. }
  817. function updateShake()
  818. {
  819.    _X = 0 + random(shakeAmmount) - shakeAmmount / 2;
  820.    _Y = 0 + random(shakeAmmount) - shakeAmmount / 2;
  821.    shakeAmmount /= 1 + shakeTime / 10;
  822. }
  823. function catchBird(xPos, yPos)
  824. {
  825.    var _loc6_ = true;
  826.    var _loc3_ = 0;
  827.    while(_loc3_ < enemyArray_bird.length)
  828.    {
  829.       var _loc2_ = enemyArray_bird[_loc3_];
  830.       if(_loc2_.health > 0)
  831.       {
  832.          if(pythag(xPos,yPos,_loc2_._x,_loc2_._y - 10) < 40)
  833.          {
  834.             var _loc7_ = WEAPONS.attachMovie("BirdCatcher","BC" + WEAPONS.getNextHighestDepth(),WEAPONS.getNextHighestDepth());
  835.             _loc7_._x = xPos;
  836.             _loc7_._y = yPos;
  837.             if(_loc2_.bomb._alpha > 0)
  838.             {
  839.                _root.weaponX = _loc2_._x;
  840.                _root.weaponY = _loc2_._y;
  841.                newEnemy("bomb",_loc2_.layer);
  842.             }
  843.             newCoins(2,_loc2_._x,_loc2_._y);
  844.             deleteEnemy(_loc2_,enemyArray_bird,_loc3_);
  845.             _loc6_ = false;
  846.             break;
  847.          }
  848.       }
  849.       _loc3_ = _loc3_ + 1;
  850.    }
  851.    if(_loc6_ == true)
  852.    {
  853.       _loc7_ = WEAPONS.attachMovie("BirdCatcher_fail","BC" + WEAPONS.getNextHighestDepth(),WEAPONS.getNextHighestDepth());
  854.       _loc7_._x = xPos;
  855.       _loc7_._y = yPos;
  856.    }
  857. }
  858. function updatePirates()
  859. {
  860.    var _loc4_ = 1;
  861.    while(_loc4_ < 5)
  862.    {
  863.       var _loc3_ = this["pirateMan" + _loc4_];
  864.       if(_loc3_.health < 3)
  865.       {
  866.          _loc3_.ammoPrompt._visible = true;
  867.       }
  868.       else
  869.       {
  870.          _loc3_.ammoPrompt._visible = false;
  871.       }
  872.       if(this["pirateMan" + _loc4_]._visible == true && this["pirateMan" + _loc4_].health > 0)
  873.       {
  874.          if(_loc3_.active == true && _loc3_.shootTime == 0)
  875.          {
  876.             if(pirateAim(_loc3_,random(enemyArray_AIR.length)) == true)
  877.             {
  878.                _loc3_.shootTime = _root.pirateShootTime - _root.pirateTrain / 2 + random(20);
  879.             }
  880.          }
  881.          else
  882.          {
  883.             _loc3_.shootTime = _loc3_.shootTime - 1;
  884.          }
  885.       }
  886.       _loc4_ = _loc4_ + 1;
  887.    }
  888. }
  889. function pirateAim(pirate, cycle)
  890. {
  891.    var _loc5_ = false;
  892.    var _loc7_ = false;
  893.    var _loc3_ = cycle;
  894.    while(_loc3_ < enemyArray_AIR.length)
  895.    {
  896.       var _loc4_ = 0;
  897.       while(_loc4_ < enemyArray_AIR[_loc3_].length)
  898.       {
  899.          var _loc1_ = enemyArray_AIR[_loc3_][_loc4_];
  900.          if(_loc5_ == false)
  901.          {
  902.             if(_loc1_._x < 550)
  903.             {
  904.                hurtEnemy(_loc1_,10);
  905.                pirate.arm.play();
  906.                pirate.arm._rotation = angle(pirate._x,pirate._y,_loc1_._x,_loc1_._y) - 90;
  907.                drawBullet(pirate._x,pirate._y,_loc1_._x,_loc1_._y);
  908.                pirate.health = pirate.health - 1;
  909.                _loc5_ = true;
  910.             }
  911.          }
  912.          _loc4_ = _loc4_ + 1;
  913.       }
  914.       if(_loc3_ == enemyArray_AIR.length)
  915.       {
  916.          _loc3_ = 0;
  917.       }
  918.       else if(_loc3_ == cycle && _loc7_ == false)
  919.       {
  920.          _loc7_ = true;
  921.       }
  922.       else if(_loc3_ == cycle)
  923.       {
  924.          break;
  925.       }
  926.       _loc3_ = _loc3_ + 1;
  927.    }
  928.    return _loc5_;
  929. }
  930. function deleteEnemy(enemy, array, i)
  931. {
  932.    enemyCounter--;
  933.    if(enemy.nom == "turret")
  934.    {
  935.       enemyCounter++;
  936.       trace("TURRET REMOVED");
  937.    }
  938.    enemy.removeMovieClip();
  939.    array.splice(i,1);
  940. }
  941. function flameControl()
  942. {
  943.    Flame._alpha = random(50) + 30;
  944.    if(random(4) == 0)
  945.    {
  946.       Flame._xscale = 90 + random(20);
  947.    }
  948.    if(random(4) == 0)
  949.    {
  950.       Flame._yscale = 70 + random(30);
  951.    }
  952. }
  953. function controlWind()
  954. {
  955.    BG.clouds._x += controlWindPower;
  956.    BG.waves._x += controlWingAngleDivTen / 2;
  957.    if(BG.clouds._x < -800)
  958.    {
  959.       BG.clouds._x += 800;
  960.    }
  961.    else if(BG.clouds._x > 0)
  962.    {
  963.       BG.clouds._x -= 800;
  964.    }
  965. }
  966. function controlWing()
  967. {
  968.    if(controlWingAngle < 45 && controlWingSwitch == false)
  969.    {
  970.       controlWingAngle += 20;
  971.    }
  972.    else if(controlWingAngle > -45 && controlWingSwitch == true)
  973.    {
  974.       controlWingAngle -= 20;
  975.    }
  976.    else if(controlWingSwitch == true)
  977.    {
  978.       controlWingSwitch = false;
  979.    }
  980.    else
  981.    {
  982.       controlWingSwitch = true;
  983.    }
  984.    controlWingAngleDivTen = controlWingAngle / 15;
  985. }
  986. function controlSkew()
  987. {
  988.    if(controlSkewAngle < 16 && controlSkewSwitch == false)
  989.    {
  990.       controlSkewAngle += 4;
  991.    }
  992.    else if(controlSkewAngle > -16 && controlSkewSwitch == true)
  993.    {
  994.       controlSkewAngle -= 2;
  995.    }
  996.    else if(controlSkewSwitch == true)
  997.    {
  998.       controlSkewSwitch = false;
  999.    }
  1000.    else
  1001.    {
  1002.       controlSkewSwitch = true;
  1003.    }
  1004.    controlSkewAngleDivTen = controlSkewAngle / 10;
  1005. }
  1006. function mouseControl()
  1007. {
  1008.    mouseMC.gotoAndStop(mouseState);
  1009.    if(mouseState != 1)
  1010.    {
  1011.       if(changeStateFlag < 1)
  1012.       {
  1013.          changeStateFlag++;
  1014.       }
  1015.       else
  1016.       {
  1017.          mouseState = 1;
  1018.          changeStateFlag = 0;
  1019.       }
  1020.    }
  1021.    mouseMC._x = _xmouse;
  1022.    mouseMC._y = _ymouse;
  1023. }
  1024. function hurtEnemy(enemy, ammount)
  1025. {
  1026.    if(ammount > 1)
  1027.    {
  1028.       ammount = Math.round(ammount);
  1029.       enemy.health -= ammount;
  1030.       var _loc1_ = EFFECTS.attachMovie("HPP","H",EFFECTS.getNextHighestDepth());
  1031.       _loc1_._x = enemy._x;
  1032.       _loc1_._y = enemy._y;
  1033.       _loc1_.textBox = "- " + ammount + " HP";
  1034.       if(enemy.health <= 0)
  1035.       {
  1036.          enemy.health = 0;
  1037.          return true;
  1038.       }
  1039.    }
  1040. }
  1041. function hurtShip(ammount)
  1042. {
  1043.    W_H._visible = true;
  1044.    _root.healthPot += ammount;
  1045.    shakeScreen(ammount * 3,3);
  1046.    shipHealth.flasher._alpha = 100;
  1047. }
  1048. function HUDBARControl()
  1049. {
  1050.    var _loc2_ = Math.round(100 / _root.maxHealth * _root.health);
  1051.    if(shipHealth.flasher._alpha > 0)
  1052.    {
  1053.       shipHealth.flasher._alpha -= 5;
  1054.       shipHealth.flasher._width = shipHealth.bar._currentframe * 2;
  1055.       if(shipHealth.flasher._width < 40 && shipHealth.flasher._alpha <= 0)
  1056.       {
  1057.          shipHealth.flasher._alpha = 40;
  1058.       }
  1059.    }
  1060.    if(_root.healthPot > 0)
  1061.    {
  1062.       _root.health = _root.health - 1;
  1063.       _root.healthPot = _root.healthPot - 1;
  1064.    }
  1065.    shipHealth.bar.gotoAndStop(_loc2_);
  1066. }
  1067. function newEffect(type, layer, xPos, yPos)
  1068. {
  1069.    var _loc2_ = this["ELAYER_" + layer].attachMovie(type,this["ELAYER_" + layer].getNextHighestDepth(),this["ELAYER_" + layer].getNextHighestDepth());
  1070.    _loc2_._x = xPos;
  1071.    _loc2_._y = yPos;
  1072. }
  1073. function newCoins(ammount, xPos, yPos)
  1074. {
  1075.    var _loc2_ = 0;
  1076.    while(_loc2_ < ammount)
  1077.    {
  1078.       var _loc1_ = ELAYER_4.attachMovie("Coin","C" + ELAYER_4.getNextHighestDepth(),ELAYER_4.getNextHighestDepth());
  1079.       _loc1_._x = xPos;
  1080.       _loc1_._y = yPos;
  1081.       _loc1_._xscale += random(20);
  1082.       _loc1_._yscale = _loc1_._xscale;
  1083.       _loc1_.xSpeed = random(10) - 5;
  1084.       _loc1_.ySpeed = - (random(3) + 2);
  1085.       _loc1_.timer = 20;
  1086.       _loc1_.rotSpeed = random(20) - 10;
  1087.       coinArray.push(_loc1_);
  1088.       _loc2_ = _loc2_ + 1;
  1089.    }
  1090. }
  1091. function updateCoins()
  1092. {
  1093.    if(_root.moneyPot > 0)
  1094.    {
  1095.       _root.money += 9;
  1096.       _root.moneyPot -= 9;
  1097.    }
  1098.    else
  1099.    {
  1100.       _root.money += _root.moneyPot;
  1101.       _root.moneyPot = 0;
  1102.    }
  1103.    var _loc3_ = 0;
  1104.    while(_loc3_ < coinArray.length)
  1105.    {
  1106.       var _loc2_ = coinArray[_loc3_];
  1107.       _loc2_.timer = _loc2_.timer - 1;
  1108.       if(_loc2_.timer > 0)
  1109.       {
  1110.          _loc2_._x += _loc2_.xSpeed;
  1111.          _loc2_._y += _loc2_.ySpeed;
  1112.          _loc2_._rotation += _loc2_.rotSpeed;
  1113.          _loc2_.ySpeed += 0.5;
  1114.       }
  1115.       else if(_loc2_.timer > -12)
  1116.       {
  1117.          _loc2_._x -= (_loc2_._x - Coin._x) / 7;
  1118.          _loc2_._y -= (_loc2_._y - Coin._y) / 7;
  1119.       }
  1120.       else
  1121.       {
  1122.          HUDBAR.tBox.gotoAndPlay(2);
  1123.          _root.moneyPot += 50 + _loc2_._xscale - 80;
  1124.          _loc2_.removeMovieClip();
  1125.          coinArray.splice(_loc3_,1);
  1126.       }
  1127.       _loc3_ = _loc3_ + 1;
  1128.    }
  1129. }
  1130. function newDay()
  1131. {
  1132.    _root.roundTimer = 0;
  1133.    if(_root.roundNum != "O")
  1134.    {
  1135.       _root.roundNum = _root.roundNum + 1;
  1136.       itemUnlock();
  1137.    }
  1138.    else
  1139.    {
  1140.       attachMovie("OUTRO","OUTROE",getNextHighestDepth());
  1141.       OUTROE._y -= 5;
  1142.    }
  1143.    dayEnded = false;
  1144.    gameActive = true;
  1145.    controlWindPower = (random(600) - 300) / 100;
  1146. }
  1147. function dayControl()
  1148. {
  1149.    if(_root.roundNum == 1)
  1150.    {
  1151.       _root.roundTimer += 2;
  1152.    }
  1153.    else if(_root.roundNum == 2)
  1154.    {
  1155.       _root.roundTimer += 1.5;
  1156.    }
  1157.    else if(_root.roundTimer < _root.roundTimerMax + 5)
  1158.    {
  1159.       _root.roundTimer = _root.roundTimer + 1;
  1160.    }
  1161.    else
  1162.    {
  1163.       _root.roundTimer = _root.roundTimer - 1;
  1164.    }
  1165.    var _loc2_ = Math.floor(200 / _root.roundTimerMax * _root.roundTimer);
  1166.    BG.ozone.gotoAndStop(_loc2_);
  1167.    if(_root.roundTimer < _root.roundTimerMax)
  1168.    {
  1169.       HUDBAR.clock.hand._rotation = _loc2_ - 100;
  1170.    }
  1171.    _root.eolBuffer = _root.eolBuffer - 1;
  1172.    if(_root.roundTimer > _root.roundTimerMax && dayEnded == false && _root.eolBuffer < 0)
  1173.    {
  1174.       dayEnded = true;
  1175.       gameActive = false;
  1176.       newUpgradeScreen();
  1177.    }
  1178. }
  1179. function destroyAllEnemy()
  1180. {
  1181.    var _loc1_ = 0;
  1182.    while(_loc1_ < enemyArray_ALL.length)
  1183.    {
  1184.       enemyArray_ALL[_loc1_].removeMovieClip();
  1185.       _loc1_ = _loc1_ + 1;
  1186.    }
  1187.    setEnemyArray();
  1188. }
  1189. function newUpgradeScreen()
  1190. {
  1191.    attachMovie("Upgrader","UPGRADER",getNextHighestDepth());
  1192.    attachMovie("UpgradeMask","UPGRADERMASK",getNextHighestDepth());
  1193.    UPGRADERMASK._xscale = 125;
  1194.    UPGRADERMASK._yscale = 125;
  1195.    UPGRADERMASK._x = -400;
  1196.    UPGRADERMASK._y = -150;
  1197.    UPGRADER.setMask(UPGRADERMASK);
  1198.    mouseMC.swapDepths(getNextHighestDepth());
  1199. }
  1200. function itemUnlock()
  1201. {
  1202.    if(_root.roundNum == 2)
  1203.    {
  1204.       W_C._visible = true;
  1205.       HUDBAR.W_C._alpha = 100;
  1206.    }
  1207.    else if(_root.roundNum != 2)
  1208.    {
  1209.       if(_root.roundNum == 4)
  1210.       {
  1211.          _root.flameUpgrade = 1;
  1212.          Flame._visible = true;
  1213.          HUDBAR.FlameStill._alpha = 40;
  1214.       }
  1215.       else if(_root.roundNum == 5)
  1216.       {
  1217.          _root.dropUpgrade = 1;
  1218.          Water._visible = true;
  1219.          HUDBAR.Water._alpha = 40;
  1220.       }
  1221.       else if(_root.roundNum != 6)
  1222.       {
  1223.          if(_root.roundNum == 7)
  1224.          {
  1225.          }
  1226.       }
  1227.    }
  1228. }
  1229. function spawnControl()
  1230. {
  1231.    if(_root.roundTimer > 50)
  1232.    {
  1233.       _root.bombVis = undefined;
  1234.       if(_root.roundNum == 1)
  1235.       {
  1236.          if(random(30) == 0)
  1237.          {
  1238.             newEnemy("blob",random(4));
  1239.          }
  1240.       }
  1241.       else if(_root.roundNum == 2)
  1242.       {
  1243.          if(random(60) == 0)
  1244.          {
  1245.             newEnemy("blob",random(4));
  1246.          }
  1247.          if(random(100) == 0)
  1248.          {
  1249.             newEnemy("bird",random(4));
  1250.          }
  1251.       }
  1252.       else if(_root.roundNum == 3)
  1253.       {
  1254.          if(random(100) == 0)
  1255.          {
  1256.             newEnemy("blob",random(4));
  1257.          }
  1258.          if(random(150) == 0)
  1259.          {
  1260.             newEnemy("bird",random(4));
  1261.          }
  1262.          if(random(200) == 0)
  1263.          {
  1264.             newEnemy("roller",random(4));
  1265.          }
  1266.       }
  1267.       else if(_root.roundNum == 4)
  1268.       {
  1269.          if(random(160) == 0)
  1270.          {
  1271.             newEnemy("blob",random(4));
  1272.          }
  1273.          if(random(220) == 0)
  1274.          {
  1275.             newEnemy("bird",random(4));
  1276.          }
  1277.          if(random(260) == 0)
  1278.          {
  1279.             newEnemy("roller",random(4));
  1280.          }
  1281.          if(random(260) == 0)
  1282.          {
  1283.             newEnemy("shmallow",random(4));
  1284.          }
  1285.       }
  1286.       else if(_root.roundNum == 5)
  1287.       {
  1288.          if(random(200) == 0)
  1289.          {
  1290.             newEnemy("blob",random(4));
  1291.          }
  1292.          if(random(250) == 0)
  1293.          {
  1294.             newEnemy("bird",random(4));
  1295.          }
  1296.          if(random(270) == 0)
  1297.          {
  1298.             newEnemy("roller",random(4));
  1299.          }
  1300.          if(random(270) == 0)
  1301.          {
  1302.             newEnemy("shmallow",random(4));
  1303.          }
  1304.          if(random(270) == 0)
  1305.          {
  1306.             newEnemy("vamp",random(4));
  1307.          }
  1308.       }
  1309.       else if(_root.roundNum == 6)
  1310.       {
  1311.          if(random(250) == 0)
  1312.          {
  1313.             newEnemy("blob",random(4));
  1314.          }
  1315.          if(random(250) == 0)
  1316.          {
  1317.             newEnemy("bird",random(4));
  1318.          }
  1319.          if(random(250) == 0)
  1320.          {
  1321.             newEnemy("roller",random(4));
  1322.          }
  1323.          if(random(250) == 0)
  1324.          {
  1325.             newEnemy("shmallow",random(4));
  1326.          }
  1327.          if(random(250) == 0)
  1328.          {
  1329.             newEnemy("vamp",random(4));
  1330.          }
  1331.          if(random(250) == 0)
  1332.          {
  1333.             newEnemy("dino",random(4));
  1334.          }
  1335.       }
  1336.       else if(_root.roundNum != "O")
  1337.       {
  1338.          if(random(260 - _root.roundNum * 3) == 0)
  1339.          {
  1340.             newEnemy("blob",random(4));
  1341.          }
  1342.          if(random(260 - _root.roundNum * 3) == 0)
  1343.          {
  1344.             newEnemy("bird",random(4));
  1345.          }
  1346.          if(random(260 - _root.roundNum * 3) == 0)
  1347.          {
  1348.             newEnemy("roller",random(4));
  1349.          }
  1350.          if(random(260 - _root.roundNum * 3) == 0)
  1351.          {
  1352.             newEnemy("shmallow",random(4));
  1353.          }
  1354.          if(random(260 - _root.roundNum * 3) == 0)
  1355.          {
  1356.             newEnemy("vamp",random(4));
  1357.          }
  1358.          if(random(260 - _root.roundNum * 3) == 0)
  1359.          {
  1360.             newEnemy("dino",random(4));
  1361.          }
  1362.          if(random(260 - _root.roundNum * 3) == 0)
  1363.          {
  1364.             newEnemy("bloon",random(4));
  1365.          }
  1366.       }
  1367.    }
  1368. }
  1369. function introMovie()
  1370. {
  1371.    if(introMC.startHud == true)
  1372.    {
  1373.       raiseHud = true;
  1374.    }
  1375.    if(raiseHud == true)
  1376.    {
  1377.       HUDBAR._y += (HUDBAR.yPos - HUDBAR._y) / 5;
  1378.       if(shipHealth._alpha < 100)
  1379.       {
  1380.          shipHealth._alpha += 10;
  1381.       }
  1382.       if(Math.round(HUDBAR._y) == Math.round(HUDBAR.yPos))
  1383.       {
  1384.          Pin._visible = true;
  1385.       }
  1386.    }
  1387. }
  1388. function outPutText()
  1389. {
  1390.    Border.pText = "Press SPACE to pause";
  1391. }
  1392. function eolBuffer()
  1393. {
  1394.    if(random(20) == 0)
  1395.    {
  1396.       trace(_root.eolBuffer + " " + random(10));
  1397.    }
  1398.    _root.eolBuffer = 10;
  1399. }
  1400. stop();
  1401. _root.money = 0;
  1402. _root.moneyPot = 0;
  1403. _root.maxHealth = 100;
  1404. _root.health = 100;
  1405. _root.healthPot = 0;
  1406. _root.shipRepair = 1;
  1407. _root.turretActive = false;
  1408. _root.dropUpgrade = 0;
  1409. _root.flameUpgrade = 0;
  1410. _root.nailUpgrade = 0;
  1411. _root.pirateActive = 0;
  1412. _root.pirateTrain = 0;
  1413. _root.pirateShootTime = 100;
  1414. _root.pirateAmmo = 20;
  1415. var pirateArray = new Array();
  1416. var p = 1;
  1417. while(p < 5)
  1418. {
  1419.    this["pirateMan" + p].active = true;
  1420.    this["pirateMan" + p]._visible = false;
  1421.    this["pirateMan" + p].shootTime = 0;
  1422.    this["pirateMan" + p].maxHealth = _root.pirateAmmo;
  1423.    pirateArray.push(this["pirateMan" + p]);
  1424.    p++;
  1425. }
  1426. Mouse.hide();
  1427. _root.roundTimerMax = 1400;
  1428. bCount = -200;
  1429. gameState = 0;
  1430. deadTimer = 80;
  1431. _root.gamePaused = false;
  1432. _root.pScreen._x = -10000;
  1433. gamePauseSwitch = false;
  1434. Border.pauseText = "Press Space to pause";
  1435. _quality = "medium";
  1436. var i = 0;
  1437. while(i < 5)
  1438. {
  1439.    createEmptyMovieClip("ELAYER_" + i,getNextHighestDepth());
  1440.    i++;
  1441. }
  1442. createEmptyMovieClip("WEAPONS",getNextHighestDepth());
  1443. createEmptyMovieClip("EFFECTS",getNextHighestDepth());
  1444. castlePoint = 250;
  1445. _root.weaponDepth = 200;
  1446. var enemyArray_blob = new Array();
  1447. var enemyArray_shmallow = new Array();
  1448. var enemyArray_roller = new Array();
  1449. var enemyArray_dino = new Array();
  1450. var enemyArray_bird = new Array();
  1451. var enemyArray_bloon = new Array();
  1452. var enemyArray_vamp = new Array();
  1453. var enemyArray_ALL = new Array();
  1454. var enemyArray_GROUND = new Array(enemyArray_blob,enemyArray_shmallow,enemyArray_dino,enemyArray_roller);
  1455. var enemyArray_AIR = new Array(enemyArray_vamp,enemyArray_bloon,enemyArray_bird,enemyArray_blob,enemyArray_shmallow,enemyArray_dino,enemyArray_roller);
  1456. enemyCounter = 0;
  1457. var enemyArray_turret = new Array();
  1458. var enemyArray_bomb = new Array();
  1459. clearTimer = 0;
  1460. shakeAmmount = 0;
  1461. shakeTime = 0;
  1462. var controlWindPower = (random(600) - 300) / 100;
  1463. var controlWingAngle = 0;
  1464. var controlWingAngleDivTen = 0;
  1465. var controlWingSwitch = false;
  1466. MovieClip.prototype.skew = function(_xskew, _yskew, base_xscale, base_yscale)
  1467. {
  1468.    this._xskew = _xskew;
  1469.    this._yskew = _yskew;
  1470.    if(arguments.length == 2)
  1471.    {
  1472.       base_xscale = 100;
  1473.       base_yscale = 100;
  1474.    }
  1475.    if(!this.inner_mc)
  1476.    {
  1477.       for(var _loc3_ in this)
  1478.       {
  1479.          if(typeof this[_loc3_] == "movieclip")
  1480.          {
  1481.             this.inner_mc = this[_loc3_];
  1482.             break;
  1483.          }
  1484.       }
  1485.       if(!this.inner_mc)
  1486.       {
  1487.          trace("No interior clip for skewing found in " + this._name + ".");
  1488.          undefined;
  1489.          return undefined;
  1490.       }
  1491.       this.inner_mc._rotation = -45;
  1492.    }
  1493.    var _loc5_ = 0.017453292519943295;
  1494.    var _loc8_ = _xskew * _loc5_;
  1495.    var _loc7_ = _yskew * _loc5_;
  1496.    var _loc6_ = Math.cos(_loc8_);
  1497.    var _loc9_ = Math.cos(_loc7_);
  1498.    this._rotation = 45 + (_xskew + _yskew) / 2;
  1499.    var _loc4_ = Math.sin(this._rotation * _loc5_) * 0.707106781186547;
  1500.    if(!_loc4_)
  1501.    {
  1502.       _loc4_ = 1e-7;
  1503.    }
  1504.    this._xscale = 100 * (Math.sin(_loc7_) + _loc6_) / _loc4_;
  1505.    this._yscale = 100 * (Math.sin(_loc8_) + _loc9_) / _loc4_;
  1506.    this.inner_mc._xscale = base_xscale * 0.5 / _loc9_;
  1507.    this.inner_mc._yscale = base_yscale * 0.5 / _loc6_;
  1508. };
  1509. var controlSkewAngle = 0;
  1510. var controlSkewSwitch = false;
  1511. var controlSkewAngleDivTen = 0;
  1512. var mouseState = 1;
  1513. var mouseHold = 0;
  1514. changeStateFlag = 0;
  1515. mouseMC.stop();
  1516. hurtShip(0);
  1517. var coinArray = new Array();
  1518. _root.enemyTimer_flyBuffer = 30;
  1519. _root.enemyTimer_groundBuffer = 30;
  1520. _root.roundNum = 0;
  1521. newDay();
  1522. SHIP._visible = false;
  1523. outTextCount = 0;
  1524. _root.outTextBuffer = 0;
  1525.